package day06;

// javaSE复习

import java.util.Arrays;

public class Review {

    // 参数是引用类型
    // 改变指向
    private void func(int[] arr) {
        arr = new int[10]; // 这里即使传入的参数长度大于或者小于new的长度都是ok的!以新的长度为准
        System.out.println(Arrays.toString(arr));  // 输出：0000000000
    }
    // 改变值
    private void func1(int[] arr) {
        arr[0] = 2;
        System.out.println(Arrays.toString(arr)); // 输出：22345678910
    }


    // 可变参数
    private void sum(int... arr) {
        // 使用fori进行遍历
        int ret = 0;
        for (int i = 0; i < arr.length; i++) {
            ret += arr[i];
        }
        System.out.println(ret);
    }

    public static void main(String[] args) {
        // 可变参数
        int[] arr1 = {1,2,3};
        int[] arr2 = {1,2,3,4,5,6};
        Review review = new Review();
        review.sum(arr1);
        review.sum(arr2);
        review.sum(9,7,8,6,5); // 甚至可以直接传入数据！！
        System.out.println("------");

        // 参数是引用了类型
        int[] arr3 = {1,2,3,4,5,6,7,8,9,9,8};
        review.func(arr3);
        review.func1(arr3);
        // 这两行代码互不影响！！ 各自作用于各自行后参数arr3依旧是最初的arr3

    }
}
